package com.prd.service;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.dto.EntReportInstructDto;
import com.prd.model.EntReport;
import com.prd.vo.EntReportVo;

import java.util.List;

public interface EntReportService extends IService<EntReport> {
    /**
     * @param day  日期
     * @param type 1：汇报、2：报告
     * @param form 1:我发起、2：我接收、3：已批示、4：我编制
     * @return
     */
    List<EntReport> listInfo(String day, Integer type, Integer form);

    int insertInfo(EntReport entReport);

    int updateInfo(EntReport entReport);

    /**
     * 查询详情
     *
     * @param id
     * @return
     */
    EntReportVo details(Long id);

    /**
     * @param reportId 汇报ID
     * @param makes    抄送人（多个,分开）
     * @return
     */
    int addMake(Long reportId, Long[] makes);

    /**
     * 查询人员权限
     *
     * @param reportId
     * @return
     */
    JSONArray jurisdiction(Long reportId);

    /**
     * 上传表态信息
     *
     * @param id
     * @param instructDeclare
     * @return
     */
    int addDeclare(Long id, String instructDeclare);

    /**
     * 上传执行/贯彻结果信息
     *
     * @param id
     * @param instructExecute
     * @return
     */
    int addExecute(Long id, String instructExecute);

    /**
     * 批示
     *
     * @param entReportInstructDto
     * @return
     */
    int addInstruct(EntReportInstructDto entReportInstructDto);

    /**
     * 再次批示
     *
     * @param entReportInstructDto
     * @return
     */
    int addAgain(EntReportInstructDto entReportInstructDto);
}
